#ifndef _ALGA_AMD_DCE4_DCE4_H
#define _ALGA_AMD_DCE4_DCE4_H
/*
  author Sylvain Bertrand <digital.ragnarok@gmail.com>
  Protected by GNU Affero GPL v3 with some exceptions.
  See README at root of alga tree.
*/

#define DCE4_ERR 1000

struct dce4;
#include <alga/amd/dce4/dce4_dev.h>
struct dce4 *dce4_alloc(void);
int dce4_init(struct dce4 *dce, struct dce4_dev *ddev);
void dce4_cleanup(struct dce4 *dce);
int dce4_hpds_used(struct dce4 *dce, unsigned *hpds_used);
int dce4_hpd_intr(struct dce4 *dce, u8 hpd);

int dce4_sink_timings(struct dce4 *dce, unsigned i, struct alga_timing **ts);
int dce4_sink_pixel_fmts(struct dce4 *dce, unsigned i,
						enum alga_pixel_fmt **fmts);
int dce4_sink_mode_set(struct dce4 *dce, unsigned i, u64 fb,
			enum alga_pixel_fmt pixel_fmt, struct alga_timing *t);
#endif
